import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import sass from 'sass'; // 引入sass模块

import { resolve } from 'path'
// https://vitejs.dev/config
export default defineConfig({
  build: {
    rollupOptions: {
      external: [
        // 添加以下外部依赖
        '@vue/shared',
        // 确保其他必要的外部依赖
        '@vue/runtime-core',
        '@vue/runtime-dom',
        'vue'
      ],
      output: {
        globals: {
          // 定义全局变量
          '@vue/shared': 'VueShared',
          'vue': 'Vue',
          '@vue/runtime-dom': 'VueRuntimeDOM'
        }
      }
    }
  },
  plugins: [vue()],
  resolve: {
    alias: {
      '@': resolve(__dirname, './src'),
      // 添加以下别名配置
      '@vue/shared': path.resolve(__dirname,  'node_modules/@vue/shared/dist/shared.esm-bundler.js'), 
      // 确保其他Vue相关模块也有正确配置
      '@vue/runtime-dom': path.resolve(__dirname,  'node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js'), 
      '@vue/runtime-core': path.resolve(__dirname,  'node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js'), 
    }
  },
  // css: {  
  //   preprocessorOptions: {  
  //     scss: {  
  //       implementation: require('sass-embedded') // 显式指定编译器  
  //       //additionalData: `@import "./src/assets/vars.scss";`  // 全局注入文件  
  //     }  
  //   }  
  // } 
  css: {
    preprocessorOptions: {
      scss: {
        implementation: sass, // 使用sass作为实现
        // 其他scss配置（如additionalData等）...
      }
    }
  }
});